ITP001 Axioms: ITP055^5.ax


%------------------------------------------------------------------------------
% File     : ITP055^5 : TPTP v8.2.0. Bugfixed v7.5.0.
% Domain   : Interactive Theorem Proving
% Axioms   : HOL4 set theory export, chainy mode
% Version  : [BG+19] axioms.
% English  :

% Refs     : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
%          : [Gau20] Gauthier (2020), Email to Geoff Sutcliffe
% Source   : [BG+19]
% Names    : sum_num^2.ax [Gau20]
%          : HL4055^5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   24 (   0 unt;   2 typ;   0 def)
%            Number of atoms       :  956 (  33 equ;   0 cnn)
%            Maximal formula atoms :   65 (  39 avg)
%            Number of connectives : 1170 (   4   ~;   2   |;  23   &;1090   @)
%                                         (   6 <=>;  45  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   20 (  12 avg;1090 nst)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :    0 (   0   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   27 (  26 usr;  26 con; 0-2 aty)
%            Number of variables   :   86 (   2   ^  82   !;   2   ?;  86   :)
% SPC      : TH0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tp_c_2Esum__num_2EGSUM,type,
    c_2Esum__num_2EGSUM: $i ).

thf(mem_c_2Esum__num_2EGSUM,axiom,
    mem @ c_2Esum__num_2EGSUM @ ( arr @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( arr @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ty_2Enum_2Enum ) ) ).

thf(tp_c_2Esum__num_2ESUM,type,
    c_2Esum__num_2ESUM: $i ).

thf(mem_c_2Esum__num_2ESUM,axiom,
    mem @ c_2Esum__num_2ESUM @ ( arr @ ty_2Enum_2Enum @ ( arr @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ty_2Enum_2Enum ) ) ).

thf(conj_thm_2Esum__num_2EGSUM__ind,axiom,
    ! [V0P: $i] :
      ( ( mem @ V0P @ ( arr @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( arr @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ bool ) ) )
     => ( ( ! [V1n: tp__ty_2Enum_2Enum,V2f: $i] :
              ( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
             => ( p @ ( ap @ ( ap @ V0P @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ V2f ) ) )
          & ! [V3n: tp__ty_2Enum_2Enum,V4m: tp__ty_2Enum_2Enum,V5f: $i] :
              ( ( mem @ V5f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
             => ( ( p @ ( ap @ ( ap @ V0P @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V3n ) ) @ ( inj__ty_2Enum_2Enum @ V4m ) ) ) @ V5f ) )
               => ( p @ ( ap @ ( ap @ V0P @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V3n ) ) @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V4m ) ) ) ) @ V5f ) ) ) ) )
       => ! [V6v: tp__ty_2Enum_2Enum,V7v1: tp__ty_2Enum_2Enum,V8v2: $i] :
            ( ( mem @ V8v2 @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
           => ( p @ ( ap @ ( ap @ V0P @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V6v ) ) @ ( inj__ty_2Enum_2Enum @ V7v1 ) ) ) @ V8v2 ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2EGSUM__def,axiom,
    ( ! [V0n: tp__ty_2Enum_2Enum,V1f: $i] :
        ( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ V1f ) )
          = fo__c_2Enum_2E0 ) )
    & ! [V2n: tp__ty_2Enum_2Enum,V3m: tp__ty_2Enum_2Enum,V4f: $i] :
        ( ( mem @ V4f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) @ V4f ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) @ V4f ) ) @ ( ap @ V4f @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2EGSUM__def__compute,axiom,
    ( ! [V0n: tp__ty_2Enum_2Enum,V1f: $i] :
        ( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ V1f ) )
          = fo__c_2Enum_2E0 ) )
    & ! [V2n: tp__ty_2Enum_2Enum,V3m: tp__ty_2Enum_2Enum,V4f: $i] :
        ( ( mem @ V4f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) ) @ V4f ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) @ V4f ) ) @ ( ap @ V4f @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) )
    & ! [V5n: tp__ty_2Enum_2Enum,V6m: tp__ty_2Enum_2Enum,V7f: $i] :
        ( ( mem @ V7f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V5n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V6m ) ) ) ) ) @ V7f ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V5n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V6m ) ) ) ) ) @ V7f ) ) @ ( ap @ V7f @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V5n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V6m ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2EGSUM__1,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1f: $i] :
      ( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ V1f ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ V1f @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2EGSUM__ADD,axiom,
    ! [V0p: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum,V3f: $i] :
      ( ( mem @ V3f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) ) @ V3f ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ V3f ) ) @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ V3f ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2EGSUM__ZERO,axiom,
    ! [V0p: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2f: $i] :
      ( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ! [V3m: tp__ty_2Enum_2Enum] :
            ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V3m ) ) )
              & ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V3m ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) )
           => ( ( surj__ty_2Enum_2Enum @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V3m ) ) )
              = fo__c_2Enum_2E0 ) )
      <=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) @ V2f ) )
          = fo__c_2Enum_2E0 ) ) ) ).

thf(conj_thm_2Esum__num_2EGSUM__MONO,axiom,
    ! [V0p: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum,V3f: $i] :
      ( ( mem @ V3f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) )
          & ( ( surj__ty_2Enum_2Enum @ ( ap @ V3f @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) )
           != fo__c_2Enum_2E0 ) )
       => ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ V3f ) ) @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) ) @ V3f ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2EGSUM__LESS,axiom,
    ! [V0p: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum,V3f: $i] :
      ( ( mem @ V3f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ? [V4q: tp__ty_2Enum_2Enum] :
            ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) ) @ ( inj__ty_2Enum_2Enum @ V4q ) ) )
            & ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V4q ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) ) )
            & ( ( surj__ty_2Enum_2Enum @ ( ap @ V3f @ ( inj__ty_2Enum_2Enum @ V4q ) ) )
             != fo__c_2Enum_2E0 ) )
      <=> ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ V3f ) ) @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ V3f ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2EGSUM__EQUAL,axiom,
    ! [V0p: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum,V3f: $i] :
      ( ( mem @ V3f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ V3f ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ V3f ) ) )
      <=> ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) )
            & ! [V4q: tp__ty_2Enum_2Enum] :
                ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ ( inj__ty_2Enum_2Enum @ V4q ) ) )
                  & ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V4q ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) ) )
               => ( ( surj__ty_2Enum_2Enum @ ( ap @ V3f @ ( inj__ty_2Enum_2Enum @ V4q ) ) )
                  = fo__c_2Enum_2E0 ) ) )
          | ( ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) )
            & ! [V5q: tp__ty_2Enum_2Enum] :
                ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ ( inj__ty_2Enum_2Enum @ V5q ) ) )
                  & ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V5q ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) )
               => ( ( surj__ty_2Enum_2Enum @ ( ap @ V3f @ ( inj__ty_2Enum_2Enum @ V5q ) ) )
                  = fo__c_2Enum_2E0 ) ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2EGSUM__FUN__EQUAL,axiom,
    ! [V0p: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2f: $i] :
      ( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ! [V3g: $i] :
          ( ( mem @ V3g @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
         => ( ! [V4x: tp__ty_2Enum_2Enum] :
                ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V4x ) ) )
                  & ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V4x ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) )
               => ( ( surj__ty_2Enum_2Enum @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V4x ) ) )
                  = ( surj__ty_2Enum_2Enum @ ( ap @ V3g @ ( inj__ty_2Enum_2Enum @ V4x ) ) ) ) )
           => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) @ V2f ) )
              = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) @ V3g ) ) ) ) ) ) ).

thf(ax_thm_2Esum__num_2ESUM__def,axiom,
    ( ! [V0f: $i] :
        ( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ V0f ) )
          = fo__c_2Enum_2E0 ) )
    & ! [V1m: tp__ty_2Enum_2Enum,V2f: $i] :
        ( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ V2f ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ V2f ) ) @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2ESUM__def__compute,axiom,
    ( ! [V0f: $i] :
        ( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ V0f ) )
          = fo__c_2Enum_2E0 ) )
    & ! [V1m: tp__ty_2Enum_2Enum,V2f: $i] :
        ( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) @ V2f ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ V2f ) ) @ ( ap @ V2f @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) )
    & ! [V3m: tp__ty_2Enum_2Enum,V4f: $i] :
        ( ( mem @ V4f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) @ V4f ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) @ V4f ) ) @ ( ap @ V4f @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2ESUM,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1f: $i] :
      ( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1f ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) @ V1f ) ) ) ) ).

thf(conj_thm_2Esum__num_2ESUM__1,axiom,
    ! [V0f: $i] :
      ( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ V0f ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ V0f @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2ESUM__MONO,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2f: $i] :
      ( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) )
          & ( ( surj__ty_2Enum_2Enum @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V1n ) ) )
           != fo__c_2Enum_2E0 ) )
       => ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V2f ) ) @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) @ V2f ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2ESUM__LESS,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2f: $i] :
      ( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ? [V3q: tp__ty_2Enum_2Enum] :
            ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V3q ) ) )
            & ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V3q ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) )
            & ( ( surj__ty_2Enum_2Enum @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V3q ) ) )
             != fo__c_2Enum_2E0 ) )
      <=> ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V2f ) ) @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ V2f ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2ESUM__EQUAL,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2f: $i] :
      ( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V2f ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ V2f ) ) )
      <=> ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) )
            & ! [V3q: tp__ty_2Enum_2Enum] :
                ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V3q ) ) )
                  & ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V3q ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) )
               => ( ( surj__ty_2Enum_2Enum @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V3q ) ) )
                  = fo__c_2Enum_2E0 ) ) )
          | ( ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) )
            & ! [V4q: tp__ty_2Enum_2Enum] :
                ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( inj__ty_2Enum_2Enum @ V4q ) ) )
                  & ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V4q ) ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) )
               => ( ( surj__ty_2Enum_2Enum @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V4q ) ) )
                  = fo__c_2Enum_2E0 ) ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2ESUM__FUN__EQUAL,axiom,
    ! [V0n: tp__ty_2Enum_2Enum,V1f: $i] :
      ( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ! [V2g: $i] :
          ( ( mem @ V2g @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
         => ( ! [V3x: tp__ty_2Enum_2Enum] :
                ( ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V3x ) ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
               => ( ( surj__ty_2Enum_2Enum @ ( ap @ V1f @ ( inj__ty_2Enum_2Enum @ V3x ) ) )
                  = ( surj__ty_2Enum_2Enum @ ( ap @ V2g @ ( inj__ty_2Enum_2Enum @ V3x ) ) ) ) )
           => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ V1f ) )
              = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ V2g ) ) ) ) ) ) ).

thf(conj_thm_2Esum__num_2ESUM__ZERO,axiom,
    ! [V0n: tp__ty_2Enum_2Enum,V1f: $i] :
      ( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ! [V2m: tp__ty_2Enum_2Enum] :
            ( ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V2m ) ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
           => ( ( surj__ty_2Enum_2Enum @ ( ap @ V1f @ ( inj__ty_2Enum_2Enum @ V2m ) ) )
              = fo__c_2Enum_2E0 ) )
      <=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ V1f ) )
          = fo__c_2Enum_2E0 ) ) ) ).

thf(conj_thm_2Esum__num_2ESUM__FOLDL,axiom,
    ! [V0n: tp__ty_2Enum_2Enum,V1f: $i] :
      ( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ V1f ) )
        = ( surj__ty_2Enum_2Enum
          @ ( ap
            @ ( ap
              @ ( ap @ ( c_2Elist_2EFOLDL @ ty_2Enum_2Enum @ ty_2Enum_2Enum )
                @ ( lam @ ty_2Enum_2Enum
                  @ ^ [V2x: $i] :
                      ( lam @ ty_2Enum_2Enum
                      @ ^ [V3n: $i] : ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ V1f @ V3n ) ) @ V2x ) ) ) )
              @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) )
            @ ( ap @ c_2Erich__list_2ECOUNT__LIST @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) ) ) ).

%------------------------------------------------------------------------------